package com.guocheng.modules.meet.model.po;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.guocheng.base.BaseModel;
import com.guocheng.modules.emp.model.po.Emp;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 会议信息实体类
 */
@Data
@Accessors(chain = true)
@TableName("gc_meet")
public class Meet extends BaseModel {

    @TableId(type = IdType.AUTO)
    private Integer id;          //主键

    private String name;        //会议名称

    private String typeName;    //会议类型（数据字典）

    private String typeValue;   //会议类型值

    private String roomName;   //会议室名称

    private Integer roomId;   //会议室id

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;  //开始时间                 //controller单独处理

    private String startTimeStr;    //开始时间字符串

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;    //结束时间                 //controller单独处理

    private String endTimeStr;    //结束时间字符串

    private String deptName;   //部门名称

    private Integer deptId;   //部门名称

    private String empName;    //主持人名称

    private Integer empId;    //主持人id

    @TableField("`count`")
    private Integer count;       //参会人数

    private String content;     //会议说明

    private String empNames;   //参会人员名称集合

    private String empIds;     //参会人员id集合(按照','分割)

    private String createName; //创建人名称

    private Integer status;      //状态   (1未开始，2、进行中，-1结束)

    private String telephone;   //会议联系电话

    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") //数据回显
    private Date createDate;   //创建时间

    @TableField(exist = false)
    @JsonIgnore
    private List<Emp> emps;     //所有参会人员

}
